package com.mes.cloud.service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.mes.cloud.common.CommPager;
import com.mes.cloud.dao.QuartzTaskDAO;
import com.mes.cloud.dto.QuartzTaskDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 定时任务
 * @author wxm
 * @Time 2019-6-10
 */
@Service
public class QuartzTaskServiceImpl implements QuartzTaskService {
    @Autowired
    private QuartzTaskDAO quartzTaskDAO;

    @Override
    public List<QuartzTaskDTO> getQuartzTaskList(Map<Object, Object> condition) {
        return quartzTaskDAO.getQuartzTaskList(condition);
    }

    @Override
    public List<QuartzTaskDTO> getQuartzTaskListAll() {
        Map<Object, Object> condition = new HashMap<>();
        return getQuartzTaskList(condition);
    }

    @Override
    public long getQuartzTaskCount(Map<Object, Object> condition) {
        return quartzTaskDAO.getQuartzTaskCount(condition);
    }

    @Override
    public long insertQuartzTask(QuartzTaskDTO quartzTaskDTO) {
        return quartzTaskDAO.insertQuartzTask(quartzTaskDTO);
    }

    @Override
    public long updateQuartzTask(QuartzTaskDTO quartzTaskDTO) {
        return quartzTaskDAO.updateQuartzTask(quartzTaskDTO);
    }

    @Override
    public long updateQuartzTaskState(Integer id, Integer state) {
        QuartzTaskDTO quartzTaskDTO = new QuartzTaskDTO();
        quartzTaskDTO.setId(id);
        quartzTaskDTO.setState(state);
        return quartzTaskDAO.updateQuartzTask(quartzTaskDTO);
    }

    @Override
    public long delQuartzTaskById(Integer id) {
        return quartzTaskDAO.delQuartzTaskById(id);
    }

    @Override
    public QuartzTaskDTO getQuartzTaskById(Integer id) {
        return quartzTaskDAO.getQuartzTaskById(id);
    }

    public CommPager<QuartzTaskDTO> findPageList(Map<Object, Object> map) {
        int pageIndex = map.get("pageIndex") == null ? 0 : Integer.valueOf(map.get("pageIndex").toString());
        int pageSize = map.get("pageSize") == null ? 10 : Integer.valueOf(map.get("pageSize").toString());
        PageHelper.startPage(pageIndex, pageSize, true);
        List<QuartzTaskDTO> list = quartzTaskDAO.getQuartzTaskList(map);
        return new CommPager<>(list);
    }
}
